#ifndef NEWTHING_H
#define NEWTHING_H

#include <SDL/SDL.h>
#include <SDL/SDL_gfxPrimitives.h>

#include <iostream>
#include <vector>
#include <queue>
#include <sstream>

#include "Game.h"
#include "GameConstants.h"
#include "Missile.h"
#include "Player.h"
#include "Space.h"

class NewThing
{
public:
	NewThing();
	~NewThing();

	void Run();

	bool running();

	void stop();

	Space* getSpace();

protected:
	void drawObjects();
	void drawObject(Object* p_obj);

	void drawWidgets();
	void drawDamageWidget(DamageWidget* p_widget);
	void drawExplosion(ExplosionEffect* p_explosion);


	void PokeYou();

	void moveCamera(int p_x, int p_y);
	void moveCameraIP(int p_x, int p_y);

	void fire(Player* p_player);


	void newGame();
	void addDefaultPlanets();


	Game m_game;
	Space m_space;

	bool m_run;

	int m_game_state;
	long m_game_over_time;

	int m_camera_x;
	int m_camera_y;
	unsigned int m_camera_scale;

	SDL_Surface* m_screen;

	bool m_buttons[200];
 
};

#endif
